package com.coupon.admin.dto;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * AI推荐DTO
 */
@Data
public class AIRecommendationDTO {
    
    /**
     * 推荐券ID列表
     */
    private List<Long> couponIds;
    
    /**
     * 推荐理由
     */
    private String reason;
    
    /**
     * 推荐分数
     */
    private Double score;
    
    /**
     * 推荐策略
     */
    private String strategy;
    
    /**
     * 个性化标签
     */
    private List<String> tags;
    
    /**
     * 预期核销率
     */
    private Double expectedUsageRate;
}

/**
 * 用户画像DTO
 */
@Data
class UserProfileDTO {
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 消费频次（月）
     */
    private Integer consumeFrequency;
    
    /**
     * 平均客单价
     */
    private BigDecimal avgOrderValue;
    
    /**
     * 偏好品类
     */
    private List<String> preferredCategories;
    
    /**
     * 价格敏感度
     */
    private String priceSensitivity;
    
    /**
     * 活跃时段
     */
    private List<String> activeHours;
    
    /**
     * 消费习惯
     */
    private Map<String, Object> consumptionHabits;
    
    /**
     * 用户标签
     */
    private List<String> userTags;
    
    /**
     * 生命周期阶段
     */
    private String lifecycleStage;
    
    /**
     * 流失风险等级
     */
    private String churnRiskLevel;
}
